# 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2，另有两个整数 m 和 n ，
# 分别表示 nums1 和 nums2 中的元素数目。
# 请你 合并 nums2 到 nums1 中，使合并后的数组同样按 非递减顺序 排列。
# 注意：最终，合并后数组不应由函数返回，而是存储在数组 nums1 中。为了应对这种情况，
# nums1 的初始长度为 m + n，其中前 m个元素表示应合并的元素,后 n个元素为 0，应忽略。nums2 的长度为 n。

#双指针
def hebing(num1,m,num2,n):
    p1, p2 = m-1, n-1
    idx = m+n-1
    while p1>=0 and p2>=0:
        if num1[p1]>=num2[p2]:
            num1[idx]=num1[p1]
            p1-=1
            idx-=1
        else:
            num1[idx]=num2[p2]
            p2-=1
            idx-=1
    while p2>=0:
        num1[idx]=num2[p2]
        p2-=1
        idx-=1
    print(num1)
num1 = [1,2,3,0,0,0]
m = 3
num2 = [2,5,6]
n = 3
hebing(num1,m,num2,n)